package com.itbour.service.tg;

import java.util.List;
import java.util.Map;

import com.itbour.com.page.Page;
import com.itbour.dto.tg.TypeInfoDto;
import com.itbour.dto.tg.OutlineInfoDto;
import com.itbour.dto.tg.TemplateInfoDto;
import com.itbour.dto.tg.TmplPageInfoDto;


/**
*
* copyright   itbour team 2015
* @author     xc
*
*/
public interface OutlineService {

	// 提纲分类
	public List<TypeInfoDto> getTypeForCombo(Map<String,Object> param);
	// 更新提纲信息
	public void updateOutlineById(Map<String,Object> param);
	
	/**
	 * @param countKey
	 *            查询该表所有记录行的SQL语句ID
	 * @param sqlKey
	 *            需要查询记录的SQL语句ID
	 * @param param
	 *            传递给查询语句的参数
	 * @param pageNo
	 *            需要查询的实际页
	 * @param pageSize
	 *            每页记录行数
	 * @return page对象
	 */
	public Page pageQuery(Map<String,Object> param, Integer pageNo, Integer pageSize);
	// 查询提纲
	public List<OutlineInfoDto> selectOutlineInfo(Map<String,Object> param);
	// 删除提纲
	public void deleteOutlineInfo(Map<String,Object> param);
	// 新规提纲
	public Long addOutlineInfo(OutlineInfoDto info);
	// 取消fast
	public void deleteOutlineFastByType(Map<String,Object> param);
	// 检查是否可设fast
	public int chkOutlineFast(Map<String,Object> param);
	
	
	public List<TemplateInfoDto> selectTmplInfo(Map<String,Object> param);
	public List<TemplateInfoDto> selectMstTmplLst(Map<String,Object> param);
	public List<TmplPageInfoDto> selectTmplPage(Map<String,Object> param);
	public TmplPageInfoDto chkTmplPageInfo(Map<String,Object> param);
	
	public void deleteTmplPage(Map<String,Object> param);
	
	
	public void addTmplPage(TmplPageInfoDto pageInfo);
	
	public TemplateInfoDto getLatestTmplDoc();
	
	
	public void updateTmplPageById(Map<String,Object> param);
	
	public List<String> getTmplTypeIds(String docId);
	public void updateTmplTypeInfo(String docId, String typeIds);
	
	public List<String> findTmplIdsByTypeIds(Map<String,Object> param);
	
}
